package cn.cscb.mms.server.service;

import cn.cscb.mms.pojo.entity.*;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.multipart.MultipartFile;

import java.math.BigDecimal;
import javax.servlet.http.HttpServletResponse;
import java.util.Map;

import java.sql.Date;
import java.util.HashMap;
import java.util.List;

public interface TaskInfoService {
    IPage<TaskInfoVO> selectTaskList(TaskInfoParam taskInfoParam);
    IPage<TaskInfo> selectList(Integer page, Integer pageSize);
    List<TaskInfo> selectAllTask();
    TaskInfo addTaskList(TaskInfo taskInfo);
    Boolean deleteTask(String markName);
    void deleteTaskList(List<String> markNoList);
    TaskInfo updateTask(TaskInfo taskInfo, Integer flag);
    List<MarkStatus> getMarkStatus();
    List<MarkType> getMarkType();
    List<Map> getORG();
    List<Map> getAccountManager(String org);
    Boolean distribution(String markNo, String disp, String claim);
    Boolean claim(String markNo, String claim);
    String getEmpNameByNo(String empNo);

    String getCUSNameByNo(String cusNo);

    String getMarkTypeByNo(String typeNo);
    String getMarkStatusByNo(String statusNo);

    IPage<HashMap<String,Object>> findAllMyMarket(String claimId, List<String> markStatus, List<String> markType, Date startDate, Date endDate, Integer page, Integer pageSizer);

    TaskInfo getMarkInfo(Integer id);
    String getMarkTypeNoByTypeName(String typeName);

    String getMarkStatusNoByStatusName(String statusNanme);
    Boolean export(HttpServletResponse response) throws Exception;
    Boolean imp(MultipartFile file) throws Exception;

    Integer updateMyMarket(Map<String,Object> map);

    Integer returnMyMarket(Map<String, Object> map);

    List<Map> getCus();

    Boolean isManager(String empNo);

    Map getStatisticsBetweenDate(String startDate, String endDate);
}
